package cn.org.xiaoweiba.graduationdesign.bookmall.vo;

import cn.org.xiaoweiba.graduationdesign.bookmall.annotation.rsa.DecodeRsaCommonAnnotation;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 用于封装接收客户端传递到服务端的用户登录信息
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Getter
@Setter
@Schema(description = "用户登录信息")
public class UserLoginInfoVo {

    /**
     * 用户通过密码登录时使用的用户名/账号/电子邮箱/手机号
     */
    @Schema(description = "用户通过密码登录时使用的用户名/账号/电子邮箱/手机号")
    private String account;

    /**
     * 用户通过邮箱登录时使用的电子邮箱。
     * 需要使用 RSA 加密算法进行解密
     */
    @Schema(description = "用户通过邮箱登录时使用的邮箱")
    @DecodeRsaCommonAnnotation
    private String mail;

    /**
     * 用户通过手机登录时使用的手机号。
     * 需要使用 RSA 加密算法进行解密
     */
    @Schema(description = "用户通过手机登录时使用的手机号")
    @DecodeRsaCommonAnnotation
    private String telephone;

    /**
     * 用户登录时输入的验证码。
     * 需要使用 RSA 加密算法进行解密
     */
    @Schema(description = "用户登录时输入的验证码")
    @DecodeRsaCommonAnnotation
    private String code;

    /**
     * 用户通过密码登录输入的密码。
     * 需要使用 RSA 加密算法进行解密
     */
    @Schema(description = "用户通过密码登录输入的密码")
    @DecodeRsaCommonAnnotation
    private String password;

}
